//
// Created by iguilty on 2022-01-12.
//

#ifndef DESIGN_PATTERN_CPP_FACTORY_H
#define DESIGN_PATTERN_CPP_FACTORY_H

class Product;

class Factory {
public:
    virtual ~Factory()=0;
    virtual Product* CreateProduct()=0;

protected:
    Factory();

private:
};

class ConcreteFactory:public Factory{
public:
    ~ConcreteFactory();
    ConcreteFactory();
    Product* CreateProduct();

protected:
private:
};


#endif //DESIGN_PATTERN_CPP_FACTORY_H
